FTPD Service for Windows NT by Software Innovations Incorporated ORDER INFORMATION and FAST-START DOCUMENTATION This document describes release 1.00 of Software Innovations Incorporated's FTP service for Windows NT. Be sure to read this document carefully as the security of your system is an issue when using this version of FTPD. This document accompanies evaluation copies of SII's FTP service. This evaluation copy will run for 15 days following its first installation. Reinstalling the evaluation copy will not reset this timer. Software Innovations Incorporated makes no warranty as to the fitness of this software for any purpose. This software and documentation is Copyright 1993 Software Innovations Incorporated. Portions of the software are Copyright 1984-1988 Regents of the University of California. You are free to use this evaluation software for a period not to exceed 15 days for the purpose of evaluating the performance of the software. You may redistribute the binaries to the software provided that this document along with the above copyright notices are included. A full production copy of the software, complete with printed documentation can be ordered by mail, phone, or fax. Current prices for a single-station license are (call for site-license terms): SII FTPD service for Windows/NT including service, control-panel applet, and documentation $25.00 The SII Connectivity Library -- Includes FTPD, Telnetd, Fingerd, and SerialLogin complete with control panel applets and documentation $75.00 Orders can be mailed to: Software Innovations Incorporated P.O. Box 644 Ames, Iowa 50010 or call (515) 232-9127 or fax (515) 232-7382 with credit-card orders (MC & Visa). For FAX orders, be sure to include the following on a single sheet (no cover please): Product name (`FTPD' or `SII Connectivity Library') Your name as it appears on the card. Type of card (MC or VISA) Card Number Expiration date Shipping address Your signature The total amount authorized (be sure to include any applicable tax or express shipping charges) Iowa residents should include applicable sales tax. Include an additional $5.00 for UPS 2nd Day or $9.00 for UPS next day. Questions may be e-mailed to: winnt-info@innov.com A mailing list for announcements about our Windows/NT products is also available. To subscribe, send a message to winnt-request@innov.com FTPD Features Implemented as a true Windows NT service. Multi-threaded operation Full integration with NT facilities Logging recorded in the event logger Configuration stored in the registry - no external config files Connection limits Support for a welcome message and .message files ACL control of FTP connections Manifest Your release kit contains the following files: ftpdserv.exe The actual service program ftpdmsgs.dll Message file for the NT event logger ftpdctl.cpl The control panel applet ftpd.wri This document ftpdinst.exe An installer program ftpddel.exe A de-installer Installation To install the ftpd server: 1. Log in as Administrator Make sure that neither the control panel, service manager, or event logger are running on your desktop (close their windows). If you have an earlier version of FTP, stop that service via the Service Manager or by typing `NET STOP FTPD' in any DOS window. 2. Unzip the files in a temporary directory. The unzip program can be acquired from ftp.iastate.edu pub/nt/(processor)/unzip.exe unzip iftpd.zip 3. Use `CD' to enter your temporary directory and execute the installation script : INSTALL To delete the service: 1. Run the de-installer: ftpddel This program will un-register the service with the service manager. 2. You may delete the files: \winnt\system32\ftpdserv.exe \winnt\system32\ftpdctl.cpl 3. You may also delete the file \winnt\system32\ftpdmsgs.dll after clearing the event logger application log of any FTPD messages. Configuration The FTPD service is configured using a control-panel applet. Double click on the FTPD icon to set the following values. Configuration changes affect only future connections. Existing ftpd client-server connections will continue using the settings in effect when they where initiated. Log Connections Check this box if you wish to log all new connections and logins to the event logger. Log Transfers Check this box to log all files stored or retrieved FTP Access is Available to: This list box shows the names of all uses and groups who will be allowed to initiate ftp connections into your system. You can add new groups and users by pressing the Add button. You can delete groups and users by highlighting them and pressing the Delete button. If you wish to limit access, be sure to delete the entry `Everyone', and then add the names of the groups and users you wish to allow access. Anonymous FTP account: If you wish to support anonymous FTP access (access by users who do not have accounts on your system), then you must enter the user name to be used for anonymous access. Usually, this is Guest. Be sure that this account has FTP access via the listbox described above. Password: This is the password that goes with the Anonymous FTP account specified above. Maximum number of simultaneous connections Enter the maximum number of simultaneous ftp client-server sessions that you wish to support at one time. This can be used to limit the load which FTPD places on your system during busy periods. If you don't want to limit the number of connections, set this value to 0. Default session timeout This sets the default idle timeout. Any session which is idle (no commands issued for this number of seconds) will be disconnected. Maximum session timeout This sets the maximum idle timeout that a client may request. A client may request a longer timeout value. This field represents the maximum allowable timeout value that may be requested. Path to 'welcome' message When a new connection is established, the text file indicated by this path will be displayed prior to the prompt for a login name and password. Whenever a client sets the current working directory using the cd command, the service checks for the existance of a file named '.message' or 'FTPD.MSG'. If a message file is found, it will be sent to the client each time s/he enters that directory. This is useful for presenting a brief descriptive message, disclaimer, or copyright notice for items in that directory. These messages should be kept as short as possible as they are displayed each time the client enters that directory. Operation When serving out files via FTPD, please take care to respect all copyright, license, and shareware terms and conditions on the files you are making accessible. Starting the FTPD Service o Open the control panel (in the group: Main). o Double-click the Services icon o Insure that the following services are started. You may wish to use the Configuration button to make them `automatic' such that they start each time the system is booted. LanmanWorkstation LanManServer (may not be require in future releases) TCP/IP o Select the FTPD service and click on `Start' If you wish FTPD to be started each time your system boots, click on Configure and make FTPD `automatic'. Stopping the FTPD Service o Open the control panel and double click on the Services icon. o Select FTPD from the list of services o Click on `Stop' and confirm your selection by clicking on Yes in the confirmation dialog o You may change FTPD to `manual' startup (such that it won't start automatically at each reboot) by clicking on Configure and then selecting Manual. Viewing the Activity Log o Open the Event Logger (available to the administrator in the Administrative Tools group. o Select Application from the Log menu to see FTPD event. o As FTPD runs, you may press F5 to refresh the event logger's display. See the Messages section of this document for a list of the possible log messages. Client Operations All normal FTPD server operations are supported. Because FTP was created for and exists primarily in the UNIX domains, some concessions to NT are required. Those include: Directory delimiters. The following are all valid directory specifications: cd d:\xxx\yyy cd \\skyhawk\projects\ftp cd /foo/bar cd f:/foo/bar Directory listings: The client command `ls' will print a simple list of filenames. The client command `dir' will print a more complete list of filenames and information: ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for file list. d Administrators 11-Feb-1993 3:02p bash d Administrators 8-Feb-1993 5:16p bison d Administrators 2-Feb-1993 3:00p compress Administrators 29-Apr-1991 4:57p 4245 CRON.C d Administrators 17-Feb-1993 4:19p dialit d Administrators 11-Feb-1993 12:49p diff : : d Administrators 16-Feb-1993 9:55p tcsh-6.03 d Administrators 2-Feb-1993 12:27p unzip d Administrators 1-Feb-1993 5:39p UUCP d Administrators 1-Feb-1993 5:38p WINNEWS d Administrators 1-Feb-1993 3:26p zip 226 Transfer complete. 1725 bytes received in 2.32 seconds (0.74 Kbytes/sec) The first column may contain one or more of: d This is a directory R a read-only file S a system file T a temporary file Column 2 contains the name of the owner. Note that you may get three question marks (???) for the owner field. This usually means that you did not have sufficient access to read the file owner from the file or directory's security descriptor. Column 3 contains the date last written Column 4 contains the time last written Column 5 (blank for directories) contains the size of the file Column 6 contains the name of the item The appearance of the directory listing differs slightly for FAT and HPFS volumes. Messages The following messages are currently supported. Some will not appear unless the proper logging options are selected in the control panel applet. The FTP service has started successfully. The FTP service has shut down successfully. A new connection has been received from %1. This connection is being serviced by thread %2. FTP login by %2 at %1 Anonymous FTP login from %1, %2 User %1 timed out after %2 seconds. User %1 logged out from FTP. User %1 has stored file %2. User %1 has retrieved file %2. Repeated login failures from %1. Unable to create communication management thread. The TCP/IP library reports it is not ready for use. The requested WinSock API version is not available. The specified WinSock version is not supported by this DLL. CreateThread failed while trying to service a new connection. getpeername() failed on new connection getsockname() failed on new connection Unable to allocate thread local storage index. Unable to malloc thread local storage space.